namespace ext.util
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// A wrapper class which can be applied to any element. Fires a &quot;click&quot; event while the
	/// mouse is pressed. The interval between firings may be specified in the config but
	/// defaults to 20 milliseconds.
	///
	/// Optionally, a CSS class may be applied to the element during the time it is pressed.
	/// </summary>
	/// <definedin>src\util\ClickRepeater.js</definedin>
	[ScriptName("ClickRepeater")]
	[ScriptNamespace("Ext.util")]
	[Imported()]
	public partial class ClickRepeater : ext.util.Observable
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		/// <param name="el">The element to listen on</param>
		/// <param name="config"></param>
		public ClickRepeater(object el, object config)
		{
		}
		
		/// <summary>Constructor</summary>
		public ClickRepeater()
		{
		}
		#endregion
		
		#region Fields
		/// <summary>Fires when the mouse button is depressed.</summary>
		/// <definedin>src\util\ClickRepeater.js</definedin>
		[ScriptName("mousedownEventName")]
		public const string MousedownEventName = "mousedown";
		
		/// <summary>Fires on a specified interval during the time the element is pressed.</summary>
		/// <definedin>src\util\ClickRepeater.js</definedin>
		[ScriptName("clickEventName")]
		public const string ClickEventName = "click";
		
		/// <summary>Fires when the mouse key is released.</summary>
		/// <definedin>src\util\ClickRepeater.js</definedin>
		[ScriptName("mouseupEventName")]
		public const string MouseupEventName = "mouseup";
		#endregion
		
		#region Methods
		/// <summary>Enables the repeater and allows events to fire.</summary>
		/// <definedin>src\util\ClickRepeater.js</definedin>
		[ScriptName("enable")]
		public void Enable()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Disables the repeater and stops events from firing.</summary>
		/// <definedin>src\util\ClickRepeater.js</definedin>
		[ScriptName("disable")]
		public void Disable()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Convenience function for setting disabled/enabled by boolean.</summary>
		/// <definedin>src\util\ClickRepeater.js</definedin>
		/// <param name="disabled"></param>
		[ScriptName("setDisabled")]
		public void SetDisabled(bool disabled)
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
		
		#region Events
		/// <summary>Fires when the mouse button is depressed.</summary>
		/// <definedin>src\util\ClickRepeater.js</definedin>
		[ScriptName("mousedown")]
		public event ext.auto.Delegate_ext_util_ClickRepeater_And_ext_EventObject Mousedown;
		
		/// <summary>Fires on a specified interval during the time the element is pressed.</summary>
		/// <definedin>src\util\ClickRepeater.js</definedin>
		[ScriptName("click")]
		public event ext.auto.Delegate_ext_util_ClickRepeater_And_ext_EventObject Click;
		
		/// <summary>Fires when the mouse key is released.</summary>
		/// <definedin>src\util\ClickRepeater.js</definedin>
		[ScriptName("mouseup")]
		public event ext.auto.Delegate_ext_util_ClickRepeater_And_ext_EventObject Mouseup;
		#endregion
	}
}
